One device may send each communication to multiple recipients. If the communication is a wireless communication, the command may not be received due to a host of factors such as interference and the like. If it is desirable to ensure that all of the recipients have received the communication, some applications require each receiving device to send an acknowledgement that the communication was received. The sending device can then determine if an acknowledgment has not been received, and then resend the communication if any expected acknowledgement is not received.
However, there are several problems with this approach. One such problem is that this arrangement does not scale well. If a command is sent to several devices at the same time, or several different commands are sent in rapid succession to several different receiving devices, all of whom must send an acknowledgement, the amount of time it takes to send and receive the acknowledgements can exceed the amount of time between commands. Furthermore, if a device moves outside of the range of the sending device, or if due to interference, reflections or other such reasons a wireless command may not be received, the receiving device will not receive the command directly from the sending device, but may receive it from other devices. Sending acknowledgements back to the device that sent the command can require that the acknowledgement be sent through other devices, which can take up additional bandwidth.
What is needed is a system and method that can reliably provide commands without requiring all receiving devices to send an acknowledgement or overwhelming the available bandwidth of a communication system.